package br.com.jw.controle.venda;

import java.util.ArrayList;
import br.com.jw.adapter.Vendadapter;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import br.com.jw.controle.login.R;
import br.com.jw.dao.VendaDao;
import br.com.jw.modelo.Venda;
import br.com.jw.util.MenuOpcoes;

public class ListarVenda extends MenuOpcoes {

	Intent intent;
	Vendadapter vendaAdapter;
	ListView list;
	Venda venda;
	VendaDao vendaDao;
	ArrayList<Venda> listVendas = new ArrayList<Venda>();

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.listar_vendas);
		list = (ListView) findViewById(R.id.lvVendas);
		registerForContextMenu(list);
		venda = new Venda();
		vendaDao = new VendaDao(getApplicationContext());
		listVendas = vendaDao.getListaVendas();

		if (listVendas != null) {
			vendaAdapter = new Vendadapter(ListarVenda.this, listVendas);
			list.setAdapter(vendaAdapter);
		}
		else {
			mensagem("Nenhuma venda foi efetuada");
		}
		list.setOnItemClickListener(onItemClick_List);
	}

	OnItemClickListener onItemClick_List = new OnItemClickListener() {
		public void onItemClick(AdapterView<?> arg0, View view, int position,
				long index) {
			openContextMenu(view);
			venda = listVendas.get(position);
		}
	};

	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		super.onCreateContextMenu(menu, v, menuInfo);
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.context_menu_vendas, menu);
	}

	public boolean onContextItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case R.id.ExcluirVenda:
			AlertDialog.Builder confirmarExclusao = new AlertDialog.Builder(
					this);
			confirmarExclusao.setTitle("Exclusão de Venda");
			confirmarExclusao.setMessage("Deseja excluir a venda do cliente "
					+ venda.getVen_nomeCliente());
			confirmarExclusao.setPositiveButton("OK",
					new DialogInterface.OnClickListener() {

						public void onClick(DialogInterface dialog, int which) {
							if (vendaDao.excluirVenda(venda)) {
								mensagem("Venda excluido com sucesso");
								vendaAdapter.removeVenda(venda);
							} else {
								mensagem("Não foi possível excluir");
							}

						}
					});
			confirmarExclusao.show();
		}
		
		return true;
	}

	public void mensagem(String msg) {
		Toast.makeText(ListarVenda.this, msg, Toast.LENGTH_SHORT).show();
	}

}